<%@page import="net.sf.json.JSONArray"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="database" scope="request" class="accessibleworldsdatabase.AccessibleWorldsDatabaseJavaBeans"/>
<jsp:useBean id="des" scope="request" class="accessibleworldsdes.AccessibleWorldsDESJavaBeans"/>
<%try {

String accessCode = request.getParameter("accessCode");

if(!(accessCode==null || "".equals(accessCode))) {
	
    accessCode = des.decryptString(session.getId(), accessCode);
    accessCode = URLDecoder.decode(accessCode, "UTF-8");
    
    if(des.getAndroidAccessCode().equals(accessCode) || des.getComputerAccessCode().equals(accessCode)) {

	    database.connect(des.decryptString(des.getServiceSecretKey(), database.getEncryptedPassword()));
	    
	    String SQL =
	    "SELECT * FROM Reports"+
	    	" WHERE "+
	    		"rating > -5"+
	    		" AND visible = 1"+
	    		" AND NOT status = \"fixed\"";
	
	    ResultSet resultSet = database.execSQL(SQL);
	
	    String output = URLEncoder.encode("OK","UTF-8");
	    
	    while(resultSet.next()) {
	    	JSONArray jsonArray = new JSONArray();
	    	jsonArray.add(resultSet.getString("Report_id"));
	    	jsonArray.add(resultSet.getString("status"));
	    	jsonArray.add(resultSet.getString("v_id"));
	    	jsonArray.add(resultSet.getString("title"));
	    	jsonArray.add(resultSet.getString("description"));
	    	jsonArray.add(resultSet.getString("latitude"));
	    	jsonArray.add(resultSet.getString("longitude"));
	    	jsonArray.add(resultSet.getString("rating"));
			output = output+" "+URLEncoder.encode(jsonArray.toString(),"UTF-8");
	    }
	
        output = des.encryptString(session.getId(),output);
        out.print(output);
	    
	    database.closeConnection();
    }
}
} catch (Exception ex) {}%>